<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="fcmdata_v1beta1.html">Firebase Cloud Messaging Data API</a> . <a href="fcmdata_v1beta1.projects.html">projects</a> . <a href="fcmdata_v1beta1.projects.androidApps.html">androidApps</a> . <a href="fcmdata_v1beta1.projects.androidApps.deliveryData.html">deliveryData</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">List aggregate delivery data for the given Android application.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next()</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>List aggregate delivery data for the given Android application.

Args:
  parent: string, Required. The application for which to list delivery data. Format: `projects/{project_id}/androidApps/{app_id}` (required)
  pageSize: integer, The maximum number of entries to return. The service may return fewer than this value. If unspecified, at most 1,000 entries will be returned. The maximum value is 10,000; values above 10,000 will be capped to 10,000. This default may change over time.
  pageToken: string, A page token, received from a previous `ListAndroidDeliveryDataRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAndroidDeliveryDataRequest` must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for ListAndroidDeliveryData.
  &quot;androidDeliveryData&quot;: [ # The delivery data for the provided app. There will be one entry per combination of app, date, and analytics label.
    { # Message delivery data for a given date, app, and analytics label combination.
      &quot;analyticsLabel&quot;: &quot;A String&quot;, # The analytics label associated with the messages sent. All messages sent without an analytics label will be grouped together in a single entry.
      &quot;appId&quot;: &quot;A String&quot;, # The app ID to which the messages were sent.
      &quot;data&quot;: { # Data detailing messaging delivery # The data for the specified appId, date, and analyticsLabel.
        &quot;countMessagesAccepted&quot;: &quot;A String&quot;, # Count of messages accepted by FCM intended for Android devices. The targeted device must have opted in to the collection of usage and diagnostic information.
        &quot;countNotificationsAccepted&quot;: &quot;A String&quot;, # Count of notifications accepted by FCM intended for Android devices. The targeted device must have opted in to the collection of usage and diagnostic information.
        &quot;deliveryPerformancePercents&quot;: { # Overview of delivery performance for messages that were successfully delivered. All percentages are calculated with countMessagesAccepted as the denominator. These categories are not mutually exclusive; a message can be delayed for multiple reasons. # Additional information about delivery performance for messages that were successfully delivered.
          &quot;delayedDeviceDoze&quot;: 3.14, # The percentage of accepted messages that were delayed because the device was in doze mode. Only [normal priority messages](https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message) should be delayed due to doze mode.
          &quot;delayedDeviceOffline&quot;: 3.14, # The percentage of accepted messages that were delayed because the target device was not connected at the time of sending. These messages were eventually delivered when the device reconnected.
          &quot;delayedMessageThrottled&quot;: 3.14, # The percentage of accepted messages that were delayed due to message throttling, such as [collapsible message throttling](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_throttling) or [maximum message rate throttling](https://firebase.google.com/docs/cloud-messaging/concept-options#device_throttling).
          &quot;delayedUserStopped&quot;: 3.14, # The percentage of accepted messages that were delayed because the intended device user-profile was [stopped](https://firebase.google.com/docs/cloud-messaging/android/receive#handling_messages) on the target device at the time of the send. The messages were eventually delivered when the user-profile was started again.
          &quot;deliveredNoDelay&quot;: 3.14, # The percentage of accepted messages that were delivered to the device without delay from the FCM system.
        },
        &quot;messageInsightPercents&quot;: { # Additional information about message delivery. All percentages are calculated with countMessagesAccepted as the denominator. # Additional general insights about message delivery.
          &quot;priorityLowered&quot;: 3.14, # The percentage of accepted messages that had their priority lowered from high to normal. See [documentation for setting message priority](https://firebase.google.com/docs/cloud-messaging/android/message-priority).
        },
        &quot;messageOutcomePercents&quot;: { # Percentage breakdown of message delivery outcomes. These categories are mutually exclusive. All percentages are calculated with countMessagesAccepted as the denominator. These categories may not account for all message outcomes. # Mutually exclusive breakdown of message delivery outcomes.
          &quot;collapsed&quot;: 3.14, # The percentage of accepted messages that were [collapsed](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages) by another message.
          &quot;delivered&quot;: 3.14, # The percentage of all accepted messages that were successfully delivered to the device.
          &quot;droppedAppForceStopped&quot;: 3.14, # The percentage of accepted messages that were dropped because the application was force stopped on the device at the time of delivery and retries were unsuccessful.
          &quot;droppedDeviceInactive&quot;: 3.14, # The percentage of accepted messages that were dropped because the target device is inactive. FCM will drop messages if the target device is deemed inactive by our servers. If a device does reconnect, we call [OnDeletedMessages()](https://firebase.google.com/docs/cloud-messaging/android/receive#override-ondeletedmessages) in our SDK instead of delivering the messages.
          &quot;droppedTooManyPendingMessages&quot;: 3.14, # The percentage of accepted messages that were dropped due to [too many undelivered non-collapsible messages](https://firebase.google.com/docs/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages). Specifically, each app instance can only have 100 pending messages stored on our servers for a device which is disconnected. When that device reconnects, those messages are delivered. When there are more than the maximum pending messages, we call [OnDeletedMessages()](https://firebase.google.com/docs/cloud-messaging/android/receive#override-ondeletedmessages) in our SDK instead of delivering the messages.
          &quot;droppedTtlExpired&quot;: 3.14, # The percentage of accepted messages that expired because [Time To Live (TTL)](https://firebase.google.com/docs/cloud-messaging/concept-options#ttl) elapsed before the target device reconnected.
          &quot;pending&quot;: 3.14, # The percentage of messages accepted on this day that were not dropped and not delivered, due to the device being disconnected (as of the end of the America/Los_Angeles day when the message was sent to FCM). A portion of these messages will be delivered the next day when the device connects but others may be destined to devices that ultimately never reconnect.
        },
        &quot;proxyNotificationInsightPercents&quot;: { # Additional information about [proxy notification](https://firebase.google.com/docs/cloud-messaging/android/message-priority#proxy) delivery. All percentages are calculated with countNotificationsAccepted as the denominator. # Additional insights about proxy notification delivery.
          &quot;failed&quot;: 3.14, # The percentage of accepted notifications that failed to be proxied. This is usually caused by exceptions that occurred while calling [notifyAsPackage](https://developer.android.com/reference/android/app/NotificationManager#notifyAsPackage%28java.lang.String,%20java.lang.String,%20int,%20android.app.Notification%29).
          &quot;proxied&quot;: 3.14, # The percentage of accepted notifications that were successfully proxied by [Google Play services](https://developers.google.com/android/guides/overview).
          &quot;skippedNotThrottled&quot;: 3.14, # The percentage of accepted notifications that were skipped because the messages were not throttled.
          &quot;skippedOptedOut&quot;: 3.14, # The percentage of accepted notifications that were skipped because the app disallowed these messages to be proxied.
          &quot;skippedUnconfigured&quot;: 3.14, # The percentage of accepted notifications that were skipped because configurations required for notifications to be proxied were missing.
          &quot;skippedUnsupported&quot;: 3.14, # The percentage of accepted notifications that were skipped because proxy notification is unsupported for the recipient.
        },
      },
      &quot;date&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # The date represented by this entry.
        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
      },
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next()</code>
  <pre>Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call &#x27;execute()&#x27; on to request the next
          page. Returns None if there are no more items in the collection.
        </pre>
</div>

</body></html>